A History of Haskell: being lazy with class